// package: rewords-server-2024
// filename: admin
// author: diogoxiang@gmail.com
// time: 2025/1/22 14:55

package admin

import (
	"github.com/gogf/gf/v2/frame/g"
	"rewords-server-2024/internal/model/entity"
	"rewords-server-2024/internal/model/input/query_in"
)

// AiSetListReq 通用列表请求结构
type AiSetListReq struct {
	g.Meta         `path:"/sys/ai/query" method:"post" summary:"通用列表请求" tags:"AI配置"`
	Conditions     []query_in.Condition  `json:"conditions,omitempty" summary:"查找条件"`   // 查找字段
	OrderFields    []query_in.OrderField `json:"order_fields,omitempty" summary:"排序字段"` // 排序字段
	*query_in.Page `json:"page"`         // 分页
}

// AiSetListRes 通用列表响应结构
type AiSetListRes struct {
	Data []entity.SysAiModel `json:"list"` // 使用interface{}以支持不同类型的列表数据
	query_in.PageResult
}

// AiSetAddReq 通用添加请求结构
type AiSetAddReq struct {
	g.Meta `path:"/sys/ai/add" method:"post" summary:"通用添加请求" tags:"AI配置"`
	entity.SysAiModel
}

// AiSetAddRes 通用添加响应结构
type AiSetAddRes struct {
	Id string `json:"id" summary:"记录ID"`
}

// AiSetInfoReq 通用信息请求结构
type AiSetInfoReq struct {
	g.Meta `path:"/sys/ai/query_id" method:"get" summary:"通用信息请求" tags:"AI配置"`
	Id     string `json:"id" v:"required#ID不能为空" dc:"记录ID"`
}

// AiSetInfoRes 通用信息响应结构
type AiSetInfoRes struct {
	//Data interface{} `json:"data"`
	entity.SysAiModel
}

// AiSetUpdateReq 通用更新请求结构
type AiSetUpdateReq struct {
	g.Meta `path:"/sys/ai/update" method:"post" summary:"通用更新请求" tags:"AI配置"`
	//Id     string `json:"id" v:"required#ID不能为空" dc:"记录ID"`
	entity.SysAiModel
}

// AiSetUpdateRes 通用更新响应结构
type AiSetUpdateRes struct {
	Id string `json:"id" summary:"记录ID"`
}

// AiSetDeleteReq 通用删除请求结构
type AiSetDeleteReq struct {
	g.Meta `path:"/sys/ai/del" method:"get" summary:"通用删除请求" tags:"AI配置"`
	Id     string `json:"id" v:"required#ID不能为空" dc:"记录ID"`
}

// AiSetDeleteRes 通用删除响应结构
type AiSetDeleteRes struct{}

// AiModelLogReq 日志
type AiModelLogReq struct {
	g.Meta         `path:"/sys/ai/log" method:"post" summary:"日志" tags:"AI配置"`
	Conditions     []query_in.Condition  `json:"conditions,omitempty" summary:"查找条件"`   // 查找字段
	OrderFields    []query_in.OrderField `json:"order_fields,omitempty" summary:"排序字段"` // 排序字段
	*query_in.Page `json:"page"`         // 分页
}

// AiModelLogRes 日志
type AiModelLogRes struct {
	Data []entity.SysAiModelLog `json:"list"` // 使用interface{}以支持不同类型的列表数据
	query_in.PageResult
}
